<script setup lang="ts">
  import { computed, useAttrs } from 'vue';
  import { Icon } from '@iconify/vue';

  interface Props {
    icon?: string;
  }

  defineProps<Props>();

  const attrs = useAttrs();

  const bindAttrs = computed<{ class: string; style: string }>(() => ({
    class: (attrs.class as string) || '',
    style: (attrs.style as string) || '',
  }));
</script>

<template>
  <Icon :icon="icon!" v-bind="bindAttrs" />
</template>
